package com.tmxk.api.days01.lf.list;

import com.tmxk.api.days01.lf.Dog;

import java.util.ArrayList;

public class ArrayListDemo_Generic {
    public static void main(String[] args) {
        //需求1: 使用ArrayList集合对象 添加5个Dog对象
        ArrayList<Dog> arrayList = new ArrayList<>();
        arrayList.add(new Dog("小花",2));
        arrayList.add(new Dog("花花",3));
        arrayList.add(new Dog("小黑",1));
        arrayList.add(new Dog("小白",5));
        arrayList.add(new Dog("汪汪",6));

        //需求2: 获取第三个下标的狗狗对象
        Dog dog = arrayList.get(2);
        System.out.println("获取第三个下标元素的狗狗对象:" + dog);

        //需求3: 查找是否存在 汪汪 这个集合元素
        System.out.println("查找汪汪是否包含在该集合元素中:" + arrayList.contains("汪汪"));
        boolean flag = false;
        for(Object obj : arrayList ){
            Dog d = (Dog) obj;
            //String str = "汪汪".equals(d.getName()) == true ? "包含在该集合元素中" : "不包含在该集合元素中";
            if("汪汪".equals(d.getName())){
                flag = true;
                break;
            }
        }
        System.out.println(flag == true ? "包含在该集合元素中" : "不包含在该集合元素中");
        //需求4: 删除花花
        //定义一个标识符,用来标识是否成功删除该集合元素,默认定义false,为删除成功
        boolean isRemove = false;
        for(int i = 0;i < arrayList.size();i++){
            Dog d = arrayList.get(i);
            if ("花花".equals(d.getName())){
                isRemove = arrayList.remove(d);
            }
        }
        System.out.println(isRemove == true ? "删除花花成功" : "删除花花失败");

        //需求5: 循环遍历该集合元素
        System.out.println("循环遍历该集合元素");
        for(int i= 0;i < arrayList.size();i++){
            System.out.println(arrayList.get(i));
        }
    }
}
